home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / dev / GUI / BGUI / AmigaE / examples / file.e < prev    next >
Text File  |  1994-10-05  |  5KB  |  114 lines

  1. ;/* Execute me to compile.
  2. ecomp file bgui_macros.pma
  3. quit
  4. */
  5. /*
  6. **      A small example of BGUI in Amiga E.
  7. **
  8. **      I have little knowledge of the E language so
  9. **      please forgive me if something is wrong or if
  10. **      something could have been done easier.
  11. **
  12. **      GUI stolen from the EasyGUI (file.e) example. Sorry
  13. **      Wouter, I could not resist ;)
  14. **
  15. **      Use the "EComp" script to compile this source.
  16. **/
  17. OPT OSVERSION=37
  18.  
  19. MODULE 'libraries/bgui',
  20.        'libraries/gadtools',
  21.        'bgui',
  22.        'tools/boopsi',
  23.        'utility/tagitem',
  24.        'intuition/classes',
  25.        'intuition/classusr',
  26.        'intuition/gadgetclass'
  27.  
  28. /*
  29. **      And were off.
  30. **/
  31. PROC main()
  32.         DEF     wd_obj, running = TRUE, rc = 0, signal, s1, s2, s3
  33.  
  34.         /*
  35.         **      Open the library.
  36.         **/
  37.         IF bguibase := OpenLibrary( 'bgui.library', 37 )
  38.                 /*
  39.                 **      Create a window object.
  40.                 **/
  41.                 wd_obj := WindowObject,
  42.                         WINDOW_TITLE,           'Select a file:',
  43.                         WINDOW_RMBTRAP,         TRUE,
  44.                         WINDOW_MASTERGROUP,
  45.                                 /*
  46.                                 **      A vertical master group.
  47.                                 **/
  48.                                 VGroupObject, Spacing( 4 ), HOffset( 4 ), VOffset( 4 ),
  49.                                         StartMember, ListviewObject, EndObject, EndMember,
  50.                                         StartMember, s1 := TabString( 'Pattern', '#?.e', 200, 0 ), FixMinHeight, EndMember,
  51.                                         StartMember, s2 := TabString( 'Drawer',  'E:',   200, 0 ), FixMinHeight, EndMember,
  52.                                         StartMember, s3 := TabString( 'File',    '',     200, 0 ), FixMinHeight, EndMember,
  53.                                         StartMember,
  54.                                                 HGroupObject, Spacing( 4 ),
  55.                                                         StartMember, Button( 'OK', 0 ), EndMember,
  56.                                                         StartMember, Button( 'Disks', 0 ), EndMember,
  57.                                                         StartMember, Button( 'Parent', 0 ), EndMember,
  58.                                                         StartMember, Button( 'Cancel', 0 ), EndMember,
  59.                                                 EndObject, FixMinHeight,
  60.                                         EndMember,
  61.                                 EndObject,
  62.                         EndObject
  63.  
  64.                 /*
  65.                 **      Object created OK?
  66.                 **/
  67.                 IF wd_obj
  68.                         /*
  69.                         **      Setup tab-cycling.
  70.                         **/
  71.                         domethod( wd_obj, [ WM_TABCYCLE_ORDER, s1, s2, s3, NIL ] )
  72.                         /*
  73.                         **      Open up the window.
  74.                         **/
  75.                         IF WindowOpen( wd_obj )
  76.                                 /*
  77.                                 **      Obtain signal mask.
  78.                                 **/
  79.                                 GetAttr( WINDOW_SIGMASK, wd_obj, {signal} )
  80.                                 /*
  81.                                 **      Poll messages.
  82.                                 **/
  83.                                 WHILE running = TRUE
  84.                                         /*
  85.                                         **      Wait for the signal.
  86.                                         **/
  87.                                         Wait( signal )
  88.                                         /*
  89.                                         **      Call uppon the event handler.
  90.                                         **/
  91.                                         WHILE ( rc := HandleEvent( wd_obj )) <> WMHI_NOMORE
  92.                                                 SELECT rc
  93.                                                         CASE    WMHI_CLOSEWINDOW
  94.                                                                 running := FALSE
  95.                                                 ENDSELECT
  96.                                         ENDWHILE
  97.                                 ENDWHILE
  98.                         ENDIF
  99.                         /*
  100.                         **      Disposing of the object
  101.                         **      will automatically close the window
  102.                         **      and dispose of all objects that
  103.                         **      are attached to the window.
  104.                         **/
  105.                         DisposeObject( wd_obj )
  106.                 ELSE
  107.                         WriteF( 'Unable to create a window object\n' )
  108.                 ENDIF
  109.                 CloseLibrary(bguibase)
  110.         ELSE
  111.                 WriteF( 'Unable to open the bgui.library\n' )
  112.         ENDIF
  113. ENDPROC NIL
  114.